1. Technical Field
The present invention relates in general to a system and method for terrain rendering using a limited memory footprint. More particularly, the present invention relates to a system and method for identifying a subset of data corresponding to vertical rays and generating images using the subset of data.
2. Description of the Related Art
The increase of computer system processing speeds has allowed today's computer systems to perform fairly accurate terrain rendering. In the computer gaming industry, for example, three dimensional terrain rendering is an essential element for providing a “visual reality” to computer games. In addition to the gaming industry, three-dimensional terrain-rendering is utilized in other fields, such as flight simulation and environmental planning.
Software developers may use “ray casting” for terrain rendering, which produces realistic images. However, ray casting algorithms are inherently complex, and, therefore, require excessive processing time. As an alternative, software developers may use vertical ray coherence for terrain rendering. Vertical ray coherence is an algorithm that exploits the geometric fact that if a plane containing two rays is vertical to a plane of a height map, the two rays may be processed using the same small subset of data from a digital terrain model.
A digital terrain model is a rectangular grid on which a terrain's elevation at each grid point is recorded. A digital terrain model may include numerous grid points, which results in a large data file. In addition, as computer displays screens become larger with higher resolutions, software developers are increasing the digital terrain model's grid resolution in order to provide high-resolution images.
Computer systems typically have a memory hierarchy that includes a disk, main memory, cache, and registers. The larger sections of memory are typically the slowest to access (e.g. disk), while the smaller sections of memory are the quickest to access (e.g. cache and registers). A challenge found with generating images using a digital terrain model, however, is that the size of a digital terrain model is typically too large to load in a computer system's faster memory.
What is needed, therefore, is a system and method to load a subset of a digital terrain model into a computer system's faster memory in order to increase terrain rendering generation performance.